
from trytond.model import ModelView, ModelSQL, ModelSingleton, fields
from trytond.pool import Pool, PoolMeta
from datetime import date
import calendar

__all__ = ['OrisConfiguration']
__metaclass__ = PoolMeta

class OrisConfiguration(ModelSingleton, ModelSQL, ModelView):
    'Oris Configuration'
    __name__ = 'oris.configuration'

    oris_month = fields.Property(fields.Char('Current month'))
    oris_year = fields.Property(fields.Char('Current year'))

    def verify_oris_date(self, fecha):
        if not self.oris_month or not self.oris_year:
            return [False, 'Fecha no configurada para ORIS module.']

        month = int(self.oris_month)
        year = int(self.oris_year)

        if not fecha:
            return [False, 'La fecha debe ser asignado']

        end_day = calendar.monthrange(year, month)[1]

        start = date(year, month, 1) 
        end = date(year, month, end_day)
              
        if fecha > end or fecha < start:
            return [False, 'La fecha esta fuera del rango permitido. Rango: ' + str(start) + '  ' + str(end)]

        return [True,] 


